MIDI Programming in Scheme Supported by an Emacs Environment
نویسنده
چکیده
A Scheme representation of Standard MIDI Files is proposed. The Scheme expressions are defined and constrained by an XML-language, which in the starting point is inspired by a MIDI XML event language made by the MIDI Manufactures Association. The representation of Standard MIDI Files in Scheme makes it possible to carry out systematic modifications and transformations of MIDI contents with use of pure functional programming. Side by side with the XML-inspired MIDI language, the paper describes an Emacs-based, textual programming environment that supports the MIDI programming process. The programming environment also supports a variety of interactive features similar to MIDI sequencers but restricted to a textual representation of the music. The main contributions of the work are considered to be (1) An accumulated MIDI function library, which can transform MIDI files in many nontrivial ways; (2) A proposed working process alternating between creative mode and programmatic editing mode within a MIDI programming environment; and (3) A textual MIDI programming environment with embedded support of many interactive, MIDI-related functionalities.
منابع مشابه
Mixing Lisps in Kawa
Kawa started as a Scheme implementation written in Java, based on compiling Scheme forms to Java byte-codes. It has developed into a powerful Scheme dialect whose strengths include speed and easy access to Java classes. It is Free Software that some companies depend on. The Kawa compiler and run-time environment have been generalized to implement other languages besides Scheme, both in the Lisp...
متن کاملKeynote - A Language and Extensible Graphics Editor for Music
Keynote is a programming language for manipulating and generating music with MIDI-compatible equipment. It was designed for and in the style of the UNIX software system, as an application-specifrc "little language" and interactive shell. Most obviously used for algorithmic music composition, Keynote also serves as a more general utility for non-realtime and realtime MIDI data manipulation. By a...
متن کاملMondrian Music Description Language and Sequencer
The Mondrian Project implements musical instruments on top of computer text editors. It consists of a music description language and interactive MIDI sequencers that may be used as editor plugins for both vim and Emacs.
متن کاملA Visual Programming Environment for Composing Interactive Performance Systems
Based on a multimedia application framework a visual programming environment was built, that allows non-programmers to compose objects offered in the core framework without having to learn a programming language. Although having similarities with Opcode/IRCAM Max, our visual programming environment has some significant differences: Its connections are bi-directional, other media than MIDI, such...
متن کاملDrScheme: A Pedagogic Programming Environment for Scheme
Teaching introductory computing courses with Scheme el evates the intellectual level of the course and thus makes the subject more appealing to students with scienti c interests Unfortunately the poor quality of the available programming environments negates many of the pedagogic advantages To overcome this problem we have devel oped DrScheme a comprehensive programming environment for Scheme I...
متن کامل